<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
        
        // 浅拷贝
        // 简单来说就是一个对象B复制另一个对象A，当改变B对象的值是A对象的值也随之改变。
// var  obj1={a:1,b:5,c:3};
// var  obj2=obj1;
// obj2.b=2;
// console.log(obj1.b);  //2
// console.log(obj2.b);  //2


// 深拷贝
// 简单来说就是一个对象B复制另一个对象A，当改变B对象的值是A对象的值不会改变。

// 如何实现深拷贝：

// ①JSON.Stringify(JSON.pare())   不支持多层引用嵌套，不支持函数Map、Sep等类型的数据
var  obj1={a:1,b:5,c:3};
var  obj2=JSON.parse(JSON.stringify(obj1))
obj2.b=2;
console.log(obj1.b);  //5
console.log(obj2.b);  //2
 


// ②展开运算符   ...
// var  obj1={a:1,b:5,c:3};
// var  obj2=(...obj1);
// obj2.b=2;
// console.log(obj1.b);  //5
// console.log(obj2.b);  //2
 
// ③Object.asssign（target,sourse）
// var  obj1={a:1,b:5,c:3};var  obj2=Object.assign({},obj1)
// obj2.b=2;
// console.log(obj1.b);  //5
// console.log(obj2.b);  //2
</script>
</body>
</html>